var limsSampleStaging = Gikam.getPageObject({

    getEditListColumns: function () {
        return [{
            checkbox: true
        }, {
            index: true
        }, {
            field: 'status',
            title: 'T_LIMS_SAMPLE_STAGING.STATUS',
            type: 'select',
            firstBlank: false,
            category: 'sys',
            param: {
                codeCategoryId_EQ: 'solve-status'
            },
        }, {
            field: 'stagingCode',
            title: 'T_LIMS_SAMPLE_STAGING.STAGINGCODE'
        }, {
            field: 'courierNumber',
            title: 'T_LIMS_SAMPLE_STAGING.COURIERNUMBER',
            validators: ['strLength[0,24]'],
            editor: true
        }, {
            field: 'courier',
            title: 'T_LIMS_SAMPLE_STAGING.COURIER',
            type: 'select',
            search: true,
            category: 'sys',
            param: {
                codeCategoryId: 'courier'
            },
            validators: ['strLength[0,40]'],
            editor: true
        }, {
            field: 'sampleNum',
            title: 'T_LIMS_SAMPLE_STAGING.SAMPLENUM',
            validators: ['strLength[0,16]', 'integer', 'numRange(0,)'],
            editor: true
        }, {
            field: 'storageLocation',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGELOCATION',
            validators: ['strLength[0,160]'],
            editor: true
        }, {
            field: 'storageConditions',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGECONDITIONS',
            validators: ['strLength[0,160]'],
            editor: true
        }, {
            field: 'remark',
            title: 'T_LIMS_SAMPLE_STAGING.REMARK',
            validators: ['strLength[0,160]'],
            editor: true
        }, {
            field: 'createdByName',
            title: 'T_LIMS_SAMPLE_STAGING.CREATEDBYNAME',
        }, {
            field: 'createdTime',
            title: 'T_LIMS_SAMPLE_STAGING.CREATEDTIME',
            width: 180
        }]
    },

    getShowListColumns: function () {
        return [{
            checkbox: true
        }, {
            index: true
        }, {
            field: 'status',
            title: 'T_LIMS_SAMPLE_STAGING.STATUS',
            type: 'select',
            firstBlank: false,
            category: 'sys',
            param: {
                codeCategoryId_EQ: 'solve-status'
            },
        }, {
            field: 'stagingCode',
            title: 'T_LIMS_SAMPLE_STAGING.STAGINGCODE'
        }, {
            field: 'courierNumber',
            title: 'T_LIMS_SAMPLE_STAGING.COURIERNUMBER'
        }, {
            field: 'courier',
            title: 'T_LIMS_SAMPLE_STAGING.COURIER',
            type: 'select',
            search: true,
            category: 'sys',
            param: {
                codeCategoryId: 'courier'
            },
        }, {
            field: 'sampleNum',
            title: 'T_LIMS_SAMPLE_STAGING.SAMPLENUM'
        }, {
            field: 'storageLocation',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGELOCATION'
        }, {
            field: 'storageConditions',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGECONDITIONS'
        }, {
            field: 'remark',
            title: 'T_LIMS_SAMPLE_STAGING.REMARK'
        }, {
            field: 'createdByName',
            title: 'T_LIMS_SAMPLE_STAGING.CREATEDBYNAME',
        }, {
            field: 'createdTime',
            title: 'T_LIMS_SAMPLE_STAGING.CREATEDTIME',
            width: 180
        }]
    },

    getBaseInfoFormFields: function () {
        return [{
            field: 'courierNumber',
            title: 'T_LIMS_SAMPLE_STAGING.COURIERNUMBER',
            validators: ['strLength[0,24]'],
            preInsert: true
        }, {
            field: 'courier',
            title: 'T_LIMS_SAMPLE_STAGING.COURIER',
            validators: ['strLength[0,40]'],
            type: 'select',
            search: true,
            category: 'sys',
            param: {
                codeCategoryId: 'courier'
            },
            preInsert: true
        }, {
            field: 'sampleNum',
            title: 'T_LIMS_SAMPLE_STAGING.SAMPLENUM',
            validators: ['strLength[0,16]', 'integer', 'numRange(0,)'],
            preInsert: true
        }, {
            field: 'storageLocation',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGELOCATION',
            validators: ['strLength[0,160]'],
            preInsert: true
        }, {
            field: 'storageConditions',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGECONDITIONS',
            validators: ['strLength[0,160]'],
            preInsert: true
        }, {
            field: 'remark',
            title: 'T_LIMS_SAMPLE_STAGING.REMARK',
            validators: ['strLength[0,160]'],
            preInsert: true
        },]
    },

    getChooseListColumns: function () {
        return [{index: true},{
            field: 'status',
            title: 'T_LIMS_SAMPLE_STAGING.STATUS',
            type: 'select',
            firstBlank: false,
            category: 'sys',
            param: {
                codeCategoryId_EQ: 'solve-status'
            },
        }, {
            field: 'stagingCode',
            title: 'T_LIMS_SAMPLE_STAGING.STAGINGCODE'
        }, {
            field: 'courierNumber',
            title: 'T_LIMS_SAMPLE_STAGING.COURIERNUMBER'
        }, {
            field: 'courier',
            title: 'T_LIMS_SAMPLE_STAGING.COURIER',
            type: 'select',
            search: true,
            category: 'sys',
            param: {
                codeCategoryId: 'courier'
            },
        }, {
            field: 'sampleNum',
            title: 'T_LIMS_SAMPLE_STAGING.SAMPLENUM'
        }, {
            field: 'storageLocation',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGELOCATION'
        }, {
            field: 'storageConditions',
            title: 'T_LIMS_SAMPLE_STAGING.STORAGECONDITIONS'
        }, {
            field: 'remark',
            title: 'T_LIMS_SAMPLE_STAGING.REMARK'
        }, {
            field: 'createdByName',
            title: 'T_LIMS_SAMPLE_STAGING.CREATEDBYNAME',
        }, {
            field: 'createdTime',
            title: 'T_LIMS_SAMPLE_STAGING.CREATEDTIME',
            width: 180
        }]
    },

    baseUrl: IFM_CONTEXT + '/secure/basemodule/samplemanage/sample-stagings'
})
